Digital rights management

ABSTRACT

A method of modifying a digital rights object including a first portion including a first key and a second portion including first control information for controlling the rights to content encrypted with a second key, the method including the steps of: a) calculating a first function from the first control information of the digital rights object; b) operating on the first key using the first function calculated in step a), to obtain the second key; c) modifying the first control information of the second portion to second control information; d) calculating a second function from the second control information of the digital rights object; and e) operating on the second key obtained in step b) using the second function calculated in step d), to obtain a third key for replacing the first key.

FIELD OF THE INVENTION

Embodiments of the invention relate to digital rights management.

BACKGROUND TO THE INVENTION

Digital Rights Management (DRM) has been developed in order to enable the distribution of digital content while controlling the use of that content. The content is encrypted to prevent its unauthorized use and distributed as an encrypted file. The decryption of the content and how it may be used is controlled by a rights object. This rights object may be a separate file or it may be attached to the encrypted content.

The rights object specifies the rights for the content. These rights generally constrain the actions that can be performed on the content. The constraints may, for example, prevent or restrict one or more of using, copying, forwarding, saving, previewing etc. The rights can be limited in time so that the content can only be used for a specified time or they can be limited by play count so that the content can only be used a specified number of times.

A rights object contains a Content Encryption Key (CEK) that is used for decrypting the encrypted content associated with the rights object.

Typically the integrity of the rights object is protected using the digital signature of the content originator. This prevents the modification of the rights object.

Consequently, as the device hosting the rights object cannot update the rights object directly it must have a dedicated database for maintaining rights object information. For example, as the device cannot update the playcount in the rights object each time the content is accessed it must maintain a database that stores and decrements playcount each time the content is accessed.

It would be desirable to enable modification of the rights object while maintaining the integrity of the rights object.

BRIEF SUMMARY OF THE INVENTION

According to one aspect of the present invention there is provided a method of modifying a digital rights object comprising a first portion including a first key and a second portion including first control information for controlling the rights to content encrypted with a second key, the method comprising the steps of:

a) calculating a first function from the first control information of the digital rights object;

b) operating on the first key using the first function calculated in step a), to obtain the second key;

c) modifying the first control information of the second portion to second control information;

d) calculating a second function from the second control information of the digital rights object; and

e) operating on the second key obtained in step b) using the second function calculated in step d), to obtain a third key for replacing the first key.

According to another aspect of the present invention there is provided a method of decrypting content under the control of a digital rights object comprising a first portion including a key and a second portion including first control information for controlling the rights to content encrypted with a decryption key, the method comprising the steps of:

a) calculating a first function from the first control information of the digital rights object;

b) operating on the key in the second portion of the digital rights object using the first function, contemporaneously calculated in step a), to obtain the decryption key; and decrypting the content using the decryption key.

According to another aspect of the present invention there is provided an electronic device comprising:

a memory for storing a digital rights object comprising a first portion including a first key and a second portion including first control information for controlling the rights to content encrypted with a second key,

a processor operable:

to calculate a first function from the first control information of the digital rights object;

to operate on the first key using the first function to obtain the second key;

to modify the first control information of the second portion to second control information;

to calculate a second function from the second control information of the digital rights object; and

to operate on the second key using the second function to obtain a third key for replacing the first key.

The integrity is maintained as only the trusted device can modify the rights object. A user or hostile agent is prevented from modifying the rights object.

BRIEF DESCRIPTION OF THE DRAWINGS

For a better understanding of the present invention and to understand how the invention can be practised reference will now be made by way of example only to the accompanying drawings of embodiments of the invention in which:

FIG. 1 illustrates a host electronic device that is host to a digital rights object and associated encrypted digital content;

FIG. 2 illustrates the process that occurs in the host device when it first receives a rights object;

FIG. 3 illustrates the process of decrypting the encrypted content 30; and

FIG. 4 illustrates the modification of a second portion of the rights object.

DETAILED DESCRIPTION OF AN EMBODIMENTS OF THE INVENTION.

Description

FIG. 1 illustrates a host electronic device 10 that is host to a digital rights object 20 and associated encrypted digital content 30. The rights object 20 has a first portion 22 and a second portion 24. The first portion 22 is a content encryption key CEK for decrypting the encrypted digital content 30 to recover the original digital content. The second portion 24 includes the remainder of the rights object 20 that controls how the content can be used.

The device 10 comprises a processor 12 connected to a memory 14 storing, as separate files, the rights object 20 and the encrypted content 30. The device may also include additional components that are not necessary for the description of the invention and therefore omitted for clarity. The device 10 also has an input 16 connected to the processor through which the device 10 can receive a digital rights object 20 and encrypted content 30 for storage in memory 14. The memory 14 additionally stores a device key 18, which can be used to encrypt information to make it particular to the device 10.

The processor 12 operates under the control of computer program instructions, which may also be stored in memory 14. The computer program instructions enable the processor 12 to carry out the methods described in FIGS. 2 to 4.

The device 10 protects the rights object 20 integrity. It does not use a digital signature, but instead associates the rights object content with the CEK. The CEK and rights object are bound together by encryption. The CEK is encrypted using a key derived from the rights object excluding CEK. The rights object integrity is protected as modifying the rights object will modify that key and prevent correct decryption of CEK. Consequently, the content cannot be decrypted.

The CEK may be in plaintext or it may be encrypted, for example using the device specific key 18. In cases where the CEK is in plain device it may be encrypted when the rights object is received.

FIG. 2 illustrates the process that occurs in the device 10 when it first receives a rights object. In this example, the encrypted content 30 and the rights object 20 are received contemporaneously.

At step 100, the device 10 stores the encrypted content 30 and encrypts the received CEK with its device key to create the device-encrypted content encryption key CEK_(d). The CEK of the first portion 22 of the rights object 20 is replaced with CEK_(d) and the rights object 20 is stored in memory 14.

In steps 102 to 110, the device 10 processes the rights object 20 to replace the CEK in the first portion 22 of the rights object 20.

At step 102, the device 10 calculates the HASH of the second portion 24 of the rights object 20. A hash function H is a transformation that takes an input m and returns a fixed-size string, which is called the hash value h (that is, h=H(m)). The HASH will subsequently be used as an encryption key for encrypting the CEK.

At step 104, the CEK_(d) is decrypted using the device key to recover the original CEK.

At step 106, the original CEK is encrypted with the HASH contemporaneously calculated at step 102. This creates a rights object dependent content encryption key CEK′ and binds the content encryption key to the content of the second portion 24 of the rights object 20.

At step 108, CEK′ is further encrypted using the device key to create the encrypted, rights object dependent, content encryption key CEK′_(d).

At step 110, the CEK in the first portion 22 of rights object 20 is replaced by CEK′_(d) to create an adapted rights object in memory 14.

It should be appreciated that because steps 102 and 104 involve operations on independent portions of the rights object, their order may be reversed.

FIG. 3 illustrates the process of decrypting the encrypted content 30.

At step 200, the device 10 obtains the encrypted, rights object dependent, content encryption key CEK′_(d) from the first portion 22 of the stored rights object 20.

At step 202, the device 10 recovers the rights object dependent, content encryption key CEK′ by decrypting CEK′_(d) using its device key 18.

At step 204, the HASH for the second portion 22 of the digital rights object 20 is calculated.

At step 206, the original content encryption key CEK is recovered by decrypting CEK′ using the HASH contemporaneously determined in step 204.

At step 208, the encrypted content is decrypted using the original content encryption key CEK recovered in step 206.

It should be appreciated that because steps 202 and 204 involve operations on independent portions of the rights object, their order may be reversed.

The rights object prevents the content being stored in the clear. Thus when the content is to be used or accessed it is first decrypted.

If the second portion 22 of the rights object 20 is modified, the HASH calculated at step 204 for recovering the content encryption key CEK will differ from the HASH previously calculated at step 104 and used to encrypt the content encryption key CEK. Consequently, the original content encryption key would not be recovered at step 206 and the decryption of the encrypted content at step 208 would fail.

However, the device 10 enables the modification of the second portion 22 of the rights object 20 in accordance with the process illustrated in FIG. 4.

At step 300, the device 10 obtains the encrypted, rights object dependent, content encryption key CEK′_(d) from the first portion 22 of the rights object 20 stored in memory 14.

At step 302, the device 10 recovers the rights object dependent, content encryption key CEK′ by decrypting CEK′_(d) using the device key 18.

At step 304, the HASH for the second portion 22 of the digital rights object 20 is calculated.

At step 306, the original content encryption key CEK is recovered by decrypting CEK′ using the HASH contemporaneously determined in step 304.

At step 308, the second portion 22 of the rights object 20 is modified.

At step 310, the HASH for the modified second portion 22 of the rights object 20 is calculated.

At step 312, the original CEK, obtained in step 306, is encrypted with the HASH, calculated in step 310, to form a modified rights object dependent content encryption key CEK″. This binds the content encryption key to the modified second portion 22 content of the rights object 20.

At step 314, CEK″ is further encrypted using the device key 18 to create the encrypted, modified rights object dependent, content encryption key CEK″_(d).

At step 316, the CEK′_(d) in the first portion 22 of the rights object 20 in memory 14 is replaced by CEK″_(d).

It should be appreciated that because steps 302 and 304 involve operations on independent portions of the rights object, their order may be reversed.

One application for the modification of the rights object is the modification of the playcount in the second portion 22 of the rights object 20. The playcount specifies the number of times an access permission may be granted. It contains a positive integer value N. Access is not allowed to the content more often than that integer value. According to one embodiment of the invention, the integer value N is decremented each time an access permission is granted by modifying the playcount value in the second portion 22 of the rights object. This is one example of the modification of first control information e.g. N to second control information e.g. N-1. Another application for the modification of the rights object is by changing the validity date in the rights object. This date determines when the access rights to the digital content expires. Thus a user may be able to purchase extensions to the validity date. It may also be possible to enable forwarding and copying of the content.

The device 10 is able to save the rights object 20 to a normal memory 14 because the integrity of the rights object 20 is protected. There is also no need to have a dedicated database for maintaining rights object information, as the rights object 20 can be modified to maintain this information itself.

The method may be performed by a computer program that includes executable instructions. The computer program may be stored on a data storage medium or downloaded over the air. It may be used to upgrade an existing mobile telephone so that it can perform the above described method.

Although embodiments of the present invention have been described in the preceding paragraphs with reference to various examples, it should be appreciated that modifications to the examples given can be made without departing from the scope of the invention as claimed.

Whilst endeavouring in the foregoing specification to draw attention to those features of the invention believed to be of particular importance it should be understood that the Applicant claims protection in respect of any patentable feature or combination of features hereinbefore referred to and/or shown in the drawings whether or not particular emphasis has been placed thereon. 

1. A method of modifying a digital rights object comprising a first portion including a first key and a second portion including first control information for controlling the rights to content encrypted with a second key, the method comprising the steps of: a) calculating a first function from the first control information of the digital rights object; b) operating on the first key using the first function calculated in step a), to obtain the second key; c) modifying the first control information of the second portion to second control information; d) calculating a second function from the second control information of the digital rights object; and e) operating on the second key obtained in step b) using the second function calculated in step d), to obtain a third key for replacing the first key.
 2. A method as claimed in claim 1, further comprising the step of: f) replacing the first key with the third key in the digital rights object.
 3. A method as claimed in claim 1, wherein the first function and the second function are the same.
 4. A method as claimed in claim 3, wherein the first function and the second function are the HASH function.
 5. A method as claimed in claim 1, wherein step b) involves decryption of the first key using the first function as a decryption key.
 6. A method as claimed in claim 1 wherein step e) involves encryption of the second key using the second function as an encryption key.
 7. A method as claimed in claim 1 wherein step c) involves modification of a count value in the second portion of the rights object.
 8. A method as claimed in claim 1 further comprising the step of saving the rights object in the clear in a common unsecured memory.
 9. A method as claimed in claim 1, wherein on receiving a new rights object, comprising a first portion including the second key and a second portion including first control information for controlling the rights to content encrypted with a second key, the second key is replaced with the first key in the first portion.
 10. A method as claimed in claim 9, further comprising, before the replacement of the second key by the first key, the steps of: (i) calculating the first function from the first control information of the digital rights object; and (ii) operating on the second key using the first function calculated in step (i), to obtain the first key for replacing the second key.
 11. A method as claimed in claim 1, wherein the content is decrypted before modification of the rights object by: calculating the first function from the first control information of the digital rights object; operating on the first key in the second portion of the digital rights object using the calculated first function to obtain the second key; and decrypting the content using the second key.
 12. A method as claimed in claim 1, wherein the content is decrypted after modification of the rights object by: calculating the second function from the second control information of the digital rights object; operating on the third key in the second portion of the digital rights object using the calculated second function to obtain the second key; and decrypting the content using the second key.
 13. A method as claimed in claim 1 wherein steps b) and e) involve, respectively, decryption and encryption using a device key.
 14. A method of decrypting content under the control of a digital rights object comprising a first portion including a key and a second portion including first control information for controlling the rights to content encrypted with a decryption key, the method comprising the steps of: a) calculating a first function from the first control information of the digital rights object; b) operating on the key in the second portion of the digital rights object using the first function, contemporaneously calculated in step a), to obtain the decryption key; and decrypting the content using the decryption key.
 15. An electronic device comprising: a memory for storing a digital rights object comprising a first portion including a first key and a second portion including first control information for controlling the rights to content encrypted with a second key, a processor operable: to calculate a first function from the first control information of the digital rights object; to operate on the first key using the first function to obtain the second key; to modify the first control information of the second portion to second control information; to calculate a second function from the second control information of the digital rights object; and to operate on the second key using the second function to obtain a third key for replacing the first key.
 16. A computer program product for enabling the method of claim
 1. 17. A data storage medium storing computer program instructions for enabling the method of claim
 1. 18. (canceled) 